基本查询 (SELECT)
概述
在关系数据库中,SELECT 语句是最常用的查询语句之一。它用于从数据库中检索数据,并将其返回给用户或应用程序。SELECT 语句的基本语法非常简单,但通过结合其他子句(如 WHERE、ORDER BY、GROUP BY 等),可以实现复杂的查询操作。
基本语法
SELECT 语句的基本语法如下:
SELECT 列名1, 列名2, ...
FROM 表名
WHERE 条件;
SELECT:指定要检索的列。可以使用*表示所有列。FROM:指定数据来源的表。WHERE:可选子句,用于过滤数据。
示例
假设我们有一个名为 employees 的表,结构如下:
| employee_id | first_name | last_name | department | salary | |-------------|------------|-----------|------------|--------| | 1 | John | Doe | HR | 50000 | | 2 | Jane | Smith | IT | 60000 | | 3 | Alice | Johnson | Finance | 55000 |
我们可以使用以下查询来检索所有员工的 first_name 和 last_name:
SELECT first_name, last_name
FROM employees;
结果将是:
| first_name | last_name | |------------|-----------| | John | Doe | | Jane | Smith | | Alice | Johnson |
使用 * 选择所有列
如果你想检索表中的所有列,可以使用 *:
SELECT *
FROM employees;
这将返回 employees 表中的所有数据。
使用 WHERE 子句过滤数据
WHERE 子句用于根据特定条件过滤数据。例如,我们只想检索 department 为 IT 的员工:
SELECT *
FROM employees
WHERE department = 'IT';
结果将是:
| employee_id | first_name | last_name | department | salary | |-------------|------------|-----------|------------|--------| | 2 | Jane | Smith | IT | 60000 |
使用 ORDER BY 排序数据
ORDER BY 子句用于对结果集进行排序。默认情况下,排序是升序的(ASC),但你也可以指定降序(DESC)。
例如,按 salary 降序排列员工:
SELECT *
FROM employees
ORDER BY salary DESC;
结果将是:
| employee_id | first_name | last_name | department | salary | |-------------|------------|-----------|------------|--------| | 2 | Jane | Smith | IT | 60000 | | 3 | Alice | Johnson | Finance | 55000 | | 1 | John | Doe | HR | 50000 |
使用 LIMIT 限制结果集
LIMIT 子句用于限制返回的行数。这在处理大数据集时非常有用。
例如,只返回前两名员工:
SELECT *
FROM employees
LIMIT 2;
结果将是:
| employee_id | first_name | last_name | department | salary | |-------------|------------|-----------|------------|--------| | 1 | John | Doe | HR | 50000 | | 2 | Jane | Smith | IT | 60000 |
实践练习
练习 1
编写一个查询,检索 employees 表中所有 department 为 Finance 的员工的 first_name 和 last_name。
练习 2
编写一个查询,检索 employees 表中 salary 最高的员工的详细信息。
练习 3
编写一个查询,检索 employees 表中所有员工的 first_name 和 last_name,并按 last_name 升序排列。
练习 4
编写一个查询,检索 employees 表中前两名 salary 最高的员工的详细信息。
总结
SELECT 语句是 SQL 中最基本也是最强大的查询语句之一。通过结合 WHERE、ORDER BY、LIMIT 等子句,你可以灵活地检索和过滤数据。掌握这些基本操作是进一步学习 SQL 的基础。
在接下来的课程中,我们将深入探讨更多高级查询技巧,如 GROUP BY、JOIN、子查询 等。